/**
 * Description:一些注释<br/>
 * CreateTime:2019-03-28<br/>
 * Creater: yangpengfei360@126.com <br/>
 * @author yangpengfei
 */
package cn.cnsy123.bookwebsiteserver.service.role;

import java.util.List;
import java.util.Map;

import javax.validation.Valid;

import cn.cnsy123.bookwebsiteserver.entity.SysUserRoleInfo;
import cn.cnsy123.bookwebsiteserver.param.RoleInsertParam;
import cn.cnsy123.bookwebsiteserver.param.RolePrivParam;
import cn.cnsy123.bookwebsiteserver.param.RolePrivRead;
import cn.cnsy123.bookwebsiteserver.param.RoleUpdateParam;
import cn.cnsy123.bookwebsiteserver.vo.layui.CommonResult;
import cn.cnsy123.bookwebsiteserver.vo.layui.TableResult;

/**
 * Description:一些注释<br/>
 * CreateTime:2019-03-28<br/>
 * Creater: yangpengfei360@126.com <br/>
 * @author yangpengfei
 */
public interface SysRoleInfoService {

    /**
     * Description:获取数据集合<br/>
     * CreateTime:2019-03-28<br/>
     * Creater: yangpengfei360@126.com <br/>
     * @author yangpengfei
     * @return
     */
    TableResult<SysUserRoleInfo> findRoleInfo(int page,int size);

    /**
     * Description:删除一个角色<br/>
     * CreateTime:2019-03-28<br/>
     * Creater: yangpengfei360@126.com <br/>
     * @author yangpengfei
     * @param roleId
     * @return
     */
    CommonResult<Object> deleteRoleInfo(Long roleId);

    /**
     * Description:修改角色信息<br/>
     * CreateTime:2019-03-28<br/>
     * Creater: yangpengfei360@126.com <br/>
     * @author yangpengfei
     * @param param
     * @return
     */
    CommonResult<Object> updateRoleInfo(RoleUpdateParam param);

    /**
     * Description:新增角色信息<br/>
     * CreateTime:2019-03-28<br/>
     * Creater: yangpengfei360@126.com <br/>
     * @author yangpengfei
     * @param param
     * @return
     */
    CommonResult<Object> insertRoleInfo(RoleInsertParam param);

    /**
     * Description:权限信息修改<br/>
     * CreateTime:2019-04-03<br/>
     * Creater: yangpengfei360@126.com <br/>
     * @author yangpengfei
     * @param param
     * @return
     */
    CommonResult<Object> updateRolePrivInfo(@Valid RolePrivParam param);

    /**
     * Description:读取权限信息<br/>
     * CreateTime:2019-04-04<br/>
     * Creater: yangpengfei360@126.com <br/>
     * @author yangpengfei
     * @param param
     * @return
     */
    CommonResult<List<Map<String, String>>> findRolePrivItem(@Valid RolePrivRead param);
    
    

}
